import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

# 读取CSV文件
df = pd.read_csv('某超市销售数据.csv')

# 将'订单日期'列转换为datetime类型
df['订单日期'] = pd.to_datetime(df['订单日期'])

# 使用'订单日期'列对DataFrame进行排序
df.sort_values(by='订单日期', inplace=True)

# 计算每日销售总额
daily_sales = df.groupby('订单日期')['销售额'].sum().reset_index()

# 绘制折线图
plt.rcParams["font.sans-serif"] = ["SimHei"]  # 设置中文显示字体
plt.figure(figsize=(20, 15))  # 设置图形大小
plt.plot(daily_sales['订单日期'], daily_sales['销售额'], marker='o')
plt.xlabel('订单日期',  fontsize=25)
plt.ylabel('每日销售总额', fontsize=20)
plt.title('每日销售总额折线图', fontsize=30)
# 使用MaxNLocator自动设置y轴刻度数量
plt.gca().yaxis.set_major_locator(MaxNLocator(integer=True))  # 整数刻度
plt.tick_params(axis='y', labelsize=10)  # 设置y轴刻度标签字体大小
plt.tick_params(axis='x', labelsize=18)  # 设置x轴刻度标签字体大小
plt.show()